import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import Vant from 'vant';
import 'vant/lib/index.css';

Vue.use(Vant);
Vue.config.productionTip = false

router.beforeEach((to, from, next) => {
  //需要权限
  if (to.meta.requireAuth) {
    if (localStorage.getItem("token")) {
      next();
    } else {
      //无效不给登入
      next({
        path: "/login",
        query: { redirect: from.fullPath },
      });
    }
  } else {
    //不需要权限直接访问
    next();
  }
})

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
///////

// import Vue from 'vue'
// import App from './App.vue'
// import router from './router'
// import store from './store'
// import Vant, { Toast } from 'vant';
// import 'vant/lib/index.css';

// Vue.use(Vant);
// Vue.config.productionTip = false;

// // 定义加载延迟函数
// function delay(ms) {
//   return new Promise(resolve => setTimeout(resolve, ms));
// }

// // 设置路由守卫，添加进入加载时间
// router.beforeEach(async (to, from, next) => {
//   // 开始加载动画
//   Toast.loading({
//     message: '页面加载中...',
//     forbidClick: true,
//     duration: 0 // 一直显示，手动关闭
//   });

//   // 模拟加载延迟（可自定义时间）
//   await delay(500); // 最少加载 0.5 秒

//   // 权限校验逻辑
//   if (to.meta.requireAuth) {
//     if (localStorage.getItem("token")) {
//       next();
//     } else {
//       next({
//         path: "/login",
//         query: { redirect: from.fullPath },
//       });
//     }
//   } else {
//     next();
//   }
// });

// // 路由跳转完成后关闭加载动画
// router.afterEach(() => {
//   Toast.clear();
// });

// new Vue({
//   router,
//   store,
//   render: h => h(App)
// }).$mount('#app');
